///////////////////////////////////////////////////////////////////////////////
//-----------------------------------------------------------------------------
#ifndef __PLANE_H__
#define __PLANE_H__
//-----------------------------------------------------------------------------

#include <Config.h>
#include <Math/Vec3f.h>

//-----------------------------------------------------------------------------

class Plane
{
public:

				Plane( const Vec3f &v1, const Vec3f &v2, const Vec3f &v3);
				Plane(void);
				~Plane();

	void		set3Points( const Vec3f &v1, const Vec3f &v2, const Vec3f &v3);
	void		setNormalAndPoint( const Vec3f &normal, const Vec3f &point);
	void		setCoefficients(f32 a, f32 b, f32 c, f32 d);
	f32			distance(const Vec3f &p);

#if	defined(DEBUG)
	void		print();
#endif

//private:

	Vec3f		normal,point;
	f32			d;

};

#endif
//-----------------------------------------------------------------------------
///////////////////////////////////////////////////////////////////////////////
